package 算法;

/**
 * f(n)=1 n=1
 * f(n)=2 n=2
 * f(n)=f(n-1)+f(n-2) n>=3
 * 时间复杂度：O(n)
 */
public class digui {
    public Long climbStairs(long n){
        if(n==1) return 1L;
        if(n==2) return 2L;
        long result=0;
        long pre=2;
        long prePre=1;
        for(int i=3;i<=n;++i){
            result=pre+prePre;
            prePre=pre;
            pre=result;
        }
        return result;
    }

    public int func(int n) {
        if(n==1){
            return 1;
        }
        int result=0;
        result=n+func(n-1);
        return result;
    }

    public void func1(int n) {
        if(n>0){
            func1(n-1);
        }
        System.out.println(n);
    }
}
